#include <d3d9.h>
#include <d3dx9.h>



class MyCamera
{
public:
	MyCamera();
	virtual ~MyCamera();

protected:
	D3DXVECTOR3				Eye, LookAt, Up;    // camera eye, camera lookat, cameraup
	D3DXMATRIXA16			matView;      
	D3DXMATRIXA16			matBillboard;      
	D3DXVECTOR3				CamX, CamY, CamZ;

	//D3DXVECTOR3				
public:
	D3DXMATRIXA16			SetCamera(D3DXVECTOR3 eye, D3DXVECTOR3 LookAt, D3DXVECTOR3 Up);
	
//	D3DXMATRIXA16			SetBillboardMatrix(D3DXVECTOR3 eye, D3DXVECTOR3 LookAt, D3DXVECTOR3 Up);
	
	//axis rotation
	D3DXMATRIXA16			RotationX(float angle);
	D3DXMATRIXA16			RotationY(float angle);
//	D3DXMATRIXA16			RotationX(float angle);

	D3DXMATRIXA16			MoveX(float distance);
	D3DXMATRIXA16			MoveY(float distance);
	D3DXMATRIXA16			MoveZ(float distance);

	D3DXMATRIXA16			GetViewMatrx()  { return matView; }

	void	SetCameraPosition(D3DXVECTOR3 pos) { Eye = pos; }
	//void   SetLookAt(

	D3DXVECTOR3				GetLookat()	{ return LookAt; }
};
